package ioc

import (
	"github.com/emicklei/go-restful/v3"
	"github.com/gin-gonic/gin"
	"google.golang.org/grpc"
)

type AppManager interface {
	ConfManager
}

type RestfulApiManager interface {
	AppManager
	RegisterRouter(*restful.WebService)
	Version() string
}
type GinApiManager interface {
	AppManager
	RegisterRouter(gin.IRouter)
}

type GrpcManager interface {
	AppManager
	RegisterGrpc(*grpc.Server)
}

type ConfManager interface {
	Name() string
	Init() error
}
